package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.BaseCompanyUserValidatorGroup.*;

import javax.validation.constraints.Size;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import com.cloudlead.common.lang.annotation.Label;
import java.lang.String;
import javax.validation.constraints.NotNull;
import java.lang.Integer;
import com.cloudlead.commonData.vo.BaseCompany;

/**
 * BaseCompanyUser is a Codegen vo type
 */
@Label("BaseCompanyUser")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="baseCompany", rootField="baseCompanyId")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.EBaseCompanyUser")
public class BaseCompanyUser extends AbstractIdEntity<String> {

    private static final long serialVersionUID =13150377789725L;    
    @Label("baseCompanyId")
    private BaseCompany baseCompany;

    @Label("邮箱")
    @Size(max=45)
    private String eMail;

    @Label("是否删除")
    @Size(max=45)
    private String flag;

    @NotNull(groups={Update.class})
    @Label("id")
    @Size(max=24)
    private String id;

    @Label("是否管理员")
    private Integer isAdmin;

    @Label("名字")
    @Size(max=45)
    private String name;

    @Label("密码")
    @Size(max=45)
    private String password;

    @Label("是否打开推送")
    @Size(max=45)
    private String permission;

    @Label("手机号码")
    @Size(max=45)
    private String phone;

    @Label("是否为微信用户")
    @Size(max=45)
    private String status;

    @Label("用户编号")
    @Size(max=45)
    private String userID;

    @Label("用户名")
    @Size(max=45)
    private String userName;

    @Label("微信号")
    @Size(max=45)
    private String weixinNamee;

    public BaseCompany getBaseCompany() {
        return baseCompany;
    }

    public void setBaseCompany(BaseCompany baseCompany) {
        this.baseCompany = baseCompany;
    }

    public String geteMail() {
        return eMail;
    }

    public void seteMail(String eMail) {
        this.eMail = eMail;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getIsAdmin() {
        return isAdmin;
    }

    public void setIsAdmin(Integer isAdmin) {
        this.isAdmin = isAdmin;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPermission() {
        return permission;
    }

    public void setPermission(String permission) {
        this.permission = permission;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getWeixinNamee() {
        return weixinNamee;
    }

    public void setWeixinNamee(String weixinNamee) {
        this.weixinNamee = weixinNamee;
    }

    public String toString() {
         return String.format("BaseCompanyUser { baseCompany : %s,eMail : %s,flag : %s,id : %s,isAdmin : %s,name : %s,password : %s,permission : %s,phone : %s,status : %s,userID : %s,userName : %s,weixinNamee : %s }",baseCompany,eMail,flag,id,isAdmin,name,password,permission,phone,status,userID,userName,weixinNamee);
    }

}

